The invention relates to data communication between a plurality of communication devices. Present data communication structures provide for a sending communication device to send information, such as a packet of data, to a target communication device over a data bus.
Alternatively, as described in a co-filed application No. 08/482,046, entitled Information Flow Through Alternate Data Buses, incorporated herein by reference, the sending communication device and target communication device can be connected to two data buses, one data bus being for the transfer of random access data, and the other data bus being for the transfer of flow data.
To facilitate data transfer, high speed data buses have been developed. As a result, data can be rapidly transferred between devices connected to the data bus. However, if more than one communication device is attempting to send data on a given data bus, for example, a high speed data bus, the contention between the devices will cause at least one of the devices to wait for access to the data bus until the other device or devices have completed sending their data over the data bus. If this wait is too long, the target device, for which the data from the waiting device is targeted, may experience operational degradations or failure caused by the delay.
Alternatively, sending communication devices may overload a target device by sending too much data to the target device. This can occur, for example, when a given sending device is granted too much access to the data bus, and attempts to send a large quantity of data to a single target device in a short period of time. Another example of overloading a target device is when a plurality of devices are granted access to the bus in close time proximity, and all of these devices are attempting to transfer data to the same target device.